package com.atguigu.school.service;

import com.atguigu.school.commons.LoginForm;
import com.atguigu.school.commons.Result;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestHeader;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * 处理系统核心业务
 *
 * @author 刘逸晖
 */
public interface SystemService {

    /**
     * 获取验证码
     *
     * @param request  请求信息
     * @param response 响应信息
     * @throws IOException
     */
    public void getVerifiCodeImage(HttpServletRequest request, HttpServletResponse response) throws IOException;

    /**
     * 登录
     *
     * @param loginForm 登录表单
     * @param session   session 对象
     * @return 是否登录成功
     */
    Result<?> login(LoginForm loginForm, HttpSession session);

    /**
     * 登录后获取用户信息
     *
     * @param token   登录时返回的 token
     * @param session session 对象
     * @return 当前登录的用户信息
     */
    public Result getInfoByToken(String token, HttpSession session);

    /**
     * 管理员、学生、教师修改密码
     *
     * @param token  登录成功时返回的 token
     * @param oldPwd 旧密码
     * @param newPwd 新密码
     * @return 是否修改成功
     */
    public Result updatePwd(String token, String oldPwd, String newPwd);


}
